{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<h1 align = 'center'> Learning To See</h1>\n",
    "\n",
    "<h2 align = 'center'> 第4部分：机器学习 </h2>\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 导入手指数据集\n",
    "\n",
    "该数据集已经过预处理。有关更多详细信息，请参阅数据预处理笔记本。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "# %pylab inline  # 不需要这行，可以在需要时直接导入需要的库\n",
    "from supportFunctions import *\n",
    "import pickle  # 不再使用cPickle，直接导入pickle模块\n",
    "\n",
    "pickleFileName = 'data/fingerDataSet' + '.pickle'\n",
    "# 打开文件时使用二进制模式 'rb'\n",
    "with open(pickleFileName, 'rb') as pickleFile:\n",
    "    data = pickle.load(pickleFile, encoding='latin1')\n",
    "# 不再需要手动关闭文件，使用with语句会自动处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# 我们的整体数据集有54个例子，让我们只看其中的3个：\n",
    "exampleIndices = [7, 30, 46]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 从Leap Motion软件中纠正的手指标签\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9EAAAIOCAYAAAC/L449AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAACxtUlEQVR4nOzdeXgV1f0/8HcC2SDJhbAkhM2wyGYBBVmECiIaqQsIqBVRUJQWAQXkq8SyCEXAKhqLIJJaQCpFQbEiCm1RQQVkaWmxKIosIpCwZgUCJPf3B8+9Py6Zz2funHtvNt6v58nzwDl3Zs6cmbvMzDmfT5jb7XaDiIiIiIiIiGyFl3UDiIiIiIiIiCoKXkQTERERERER+YkX0URERERERER+4kU0ERERERERkZ94EU1ERERERETkJ15EExEREREREfmJF9FEREREREREfuJFNBEREREREZGfeBFNRERERERE5CdeRBMRUZn5/PPPERYWhhUrVpR1U/ySlZWFgQMHolatWggLC0N6err42vz8fDz66KNISkpCWFgYxowZg/379yMsLAyLFi0qtTaXlaFDh+Kqq64K2foXLVqEsLAw7N+/P2TbICIissKLaCKiSs5zsREdHY1Dhw6VqO/ZsyeuueaaMmhZxTN27FisXbsWaWlpWLJkCW677TbxtTNmzMCiRYswYsQILFmyBA8++GAptpTKyu7duzF27FjccMMNiI6OFi/0PTeQpL/nn3++xDL//Oc/0atXL7hcLsTFxaFDhw545513SmGviIjoUlXLugFERFQ6CgsLMWvWLMyZM6esm1Jhffrpp+jbty/Gjx/v12u7dOmCKVOmeMvcbjfOnDmDiIiIUDazXMjIyEBxcXFZN6PUbdq0CX/84x/RunVrtGrVCjt27LB8XatWrbBkyZIS5UuWLMHf//533HrrrT7lCxcuxLBhw3DLLbdgxowZqFKlCnbv3o2DBw+GYjeIiEjBi2gioitE+/btkZGRgbS0NCQnJ5d1c0pVQUEBqlevHvB6jh49iho1avj92tatW/uUeUYElGfB6qsr4UaBlbvuugvZ2dmIi4vDSy+9JF5EJyYmYvDgwSXKp06diubNm+P666/3lu3fvx8jR47E6NGj8eqrr4aq6URE5CcO5yYiukI8++yzKCoqwqxZs9TXafN2w8LC8Nxzz3n//9xzzyEsLAzff/89Bg8eDJfLhTp16mDSpElwu904ePAg+vbti/j4eCQlJWH27NmW2ywqKsKzzz6LpKQkVK9eHXfddZflE7avv/4at912G1wuF6pVq4YePXrgq6++8nmNp027du3CoEGDULNmTXTv3l3d57179+Kee+5BQkICqlWrhi5dumD16tXees+QeLfbjblz53qH3FrxDNPdt28fVq9e7X3t/v37Lft26NChiI2NxaFDh9CvXz/ExsaiTp06GD9+PIqKinzWfeLECTz44IOIj49HjRo1MGTIEPznP/+xPF7fffcdBg4ciISEBERHR6Njx4748MMPfV7j2a/169fj8ccfR926ddGgQQOxnzz79s4779ger8vnRE+ZMgXh4eFYt26dz+uGDx+OyMhI/Oc///GW+XOcrWzbtg2pqamoXbs2YmJikJKSgkceecR2uWBKSEhAXFyc0bJbtmzBnj178MADD/iUz58/H0VFRZg2bRqAi/Pt3W53wG0lIiIzvIgmIrpCpKSk4KGHHkJGRgYOHz4c1HXfd999KC4uxqxZs9C5c2dMnz4d6enpuOWWW1C/fn288MILaNasGcaPH48NGzaUWP7555/H6tWr8cwzz+CJJ57AP/7xD/Tu3RtnzpzxvubTTz/FjTfeiNzcXEyZMgUzZsxAdnY2evXqhS1btpRY5z333IPTp09jxowZeOyxx8S2Z2Vl4YYbbsDatWvx+OOP4/nnn8fZs2dx1113YeXKlQCAG2+80Tv09pZbbsGSJUssh+IC/3+Ybu3atdG+fXvva+vUqSO2oaioCKmpqahVqxZeeukl9OjRA7Nnz8aCBQu8rykuLsadd96Jv/71rxgyZAief/55HDlyBEOGDCmxvv/973/o0qULvv32W0yYMAGzZ89G9erV0a9fP+8+Xerxxx/Hrl27MHnyZEyYMEFsp4c/x+tyEydORPv27TFs2DDk5eUBANauXYuMjAxMnjwZ7dq1A+D8OHscPXoUt956K/bv348JEyZgzpw5eOCBB7B582bb/cnPz8fx48dt/3JycmzXFYi3334bAEpcRP/zn/9Ey5Yt8fHHH6NBgwaIi4tDrVq1MGnSpCtyyDwRUZlzExFRpbZw4UI3APfWrVvdP/74o7tq1aruJ554wlvfo0cPd5s2bbz/37dvnxuAe+HChSXWBcA9ZcoU7/+nTJniBuAePny4t+zC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06cDuJi+DACWLFniXffEiROD0vbL8SKaiKiUzZ07Fy+++CIyMzPRrl07zJkzR8zteLni4mIcPnwYcXFx4tw8IiKJ2+1GXl4ekpOTy80FUHnUrFkzDB482HIY6+TJk3Hs2DGsWLEC7777Lvr06YNPPvkEdevWDUlb/MnLbppf3U5iYiI2btyIZ555BnPmzMHZs2fRtm1brFq1Crfffnswdi8oqlSpgtWrV3uHHoeHh+Puu+/GlClT0K1bN0RHR3tf27p1a2zbtg1Tp07FokWLcOLECdStWxfXXnstJk+eHHBb/DlelyoqKsKQIUNQu3ZtpKene8ubN2+OmTNn4sknn8S7776Le++91/g49+jRA1u2bMGyZcuQlZUFl8uFTp064e2333YcOC0QnhsUf/jDHyzb6LmIduryIHF//vOfvf8O1UV0mJuTm4iISs0777yDhx56CPPnz0fnzp2Rnp6O5cuXY/fu3X79APv555/RsGHDUmgpEVVmBw8eRIMGDcq6GUQh9cEHH+Duu+/Gl19+iW7duoV0W59//jluuukmLF++HAMHDgzptqjs8Uk0EVEpevnll/HYY4/h4YcfBgDMnz8fq1evxp///GfLSLCX8+SejImJcfwk+vLol5eT8kvaLau1Q8tHGRERobbnwoULar0Ju3VGRkaKdefOnRPrtH3R7lVrEX3tltXaqq339OnTYl0gUWi1PtD6/ezZs2Kd3Tmr7af01AeAz3zFy136xMqKaXsDOQ802nlgtU23241z58755LElqgzOnDnj8xlWVFSEOXPmID4+Htddd10ZtowqI15EExGVknPnzmH79u1IS0vzloWHh6N3794+QVsuVVhY6BP0w/PjPywszPFFtN3rtXqtThsSarqc3bKmQtUHpm0NZB9D0daK1p6KtE3TdYZqWU4Hocpm9OjROHPmDLp27YrCwkK8//772LhxI2bMmFGhUnpRxcCLaCKiUnL8+HEUFRUhMTHRpzwxMdGbLuRyM2fOxNSpU0ujeURERBVWr169MHv2bHz00Uc4e/YsmjVrhjlz5mDUqFFl3TSqhHgRTURUjqWlpWHcuHHe/+fm5nJONBER0WUGDRqEQYMGldn2e/bsqU7boMqFF9FERKWkdu3aqFKlCrKysnzKs7KykJSUZLlMVFQUoqKiSqN5REREROQHXkQTEZWSyMhIdOjQAevW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6bvspsJY0aZ4SKlP7ZbTUjpJD5euu+46cZndu3eLdVKaVDumacRMOJ26wxRXRERERERERCHAi2giIiIiIiIiP/EimoiIiIiIiMhPnBNNRFQBFRUVWc71CSR1jzQnzbM9iem8NDvaNrW5ado27QJOats0TbllmvYI0NurHS/TFGB2x0tLcaXVaWmstNRr2joB8/mLhw4dEusCmZNn+l4oy+CMRETkXLm9iLbKgRqsyebSDw+TH59OAyFI65GCRUiBCqQfFlJ7pAAFUrkWIEH6YXLq1CnL8tzcXMty6ceq9GNL2mdpPVdddZVleb169SzLpajgUiAG7XyUolhLfST1qZR71ul7QTq/pCjfCQkJluVS4JJAcgH7+3rp3GZ0biIiIiIqTRzOTUREREREROSncvskmoiIiIjIKSnFlTYlw25qhRUt5ZTpCC2tjZpjx45ZlpumuMrPzxfrYmJixDrTqT/SaENtlKi2La2PteWkEYCAPLISkNup9ZU2XUXbb20KjLY9acTlDTfcIC6zceNGse7AgQNinUY777RpStr7TaKdB1bnI1NcEREREREREYUAL6KJiIiIiIiI/MSLaCIiIiIiIiI/lds50VZj0oOVAsJkPdI8DmkOjbQNaax9bGysZXlSUpJleY0aNSzLpcjWderUsSy/+uqrLcu1ORXSXAxtjoYVad6JFAFa6iNpTklcXJyj10tzLaT9ktoDyMdHigwuzc9xOv9DivItnb/S+RIfH++oPSZzuKQ2SeVO3lNXQnRukxRX2jwwAIiIiBDrtDlM2jw37Ry2+yw2ncun7YfJvEcP0xRX2hwvu/eOVq/1rdYeLfWTNGfOQ3tvafupfT9IWSIA/XPWbpva3MYjR46IdXZp0ExTwZmmuLL7PHO6XrfbbftZQEREOj6JJiIiIiIiIvJTuX0STURERETklDRSx3SUkskIRu1pvzaaQavT2iGNPjGNEq6NyNBGs9iN5JAUFBRYlmujcbQRSRptFI82asblcol10n5r69Oic2tt1EYMaSNJgzkSFwjN+8kkcr32nmF0biIiIiIiIqJygBfRRERERERERH7iRTQRERERERGRn8rtnOiwsLASY+alMfSm8y+stilxug1pXVK5FM25R48eluXJycmW5YmJiZbltWvXtiyXIp9qfSFFdK5Vq5ZluTQv6OzZs5blBw8etCyX5vs0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W7ea0tJSk5+fb9asWWP6+vrcLTqJZuuFJNPc3DzznPHxcfPcc8+ZSy+91FxyySXmoYceMidPnnSv6CR74oknzBVXXGE8Ho9ZtmyZWbNmjfn+++9n1rOtH06REw0AaYgc1NmRi2pHRmp85KUCAOLhdm4ASDPkoCaOXNRoZKTGRl4qACBRRFwBQJohBzVx2Z6Lej4yUmdHXioAYK7YRAMAkAXISJ0deakAgLnidm4ASDPkoCYum3NRz0dGamzkpQIA5opNNACkGXJQE5eNuajnM2Skzhl5qQCAeLidGwDSUCAQUGNjo26++WatWrVKb731VtbkoP6vsbEx/fnnnzO/P5eLWlJSIp/PN5OLes0116iqqkpbt27N6FzU8/n9frW0tOjLL7+cyUiVpoerLVq0KCoTtKSkRMXFxdq8eXPWZII2NTXp3nvvlc/n0+joqFpaWnTo0CEdPHgw63sDAIiNTTQApKFHHnlEp0+f1rZt2xQKhXTTTTfpwIED/xmglQ06Ozt15513zvw+EAhIkhobG7Vnzx699NJLCofDevrppzU0NKTbbrtNBw4cUEFBgVslp8zu3bslSXfccUfU483NzXr88cclSW+++aZyc3O1bt06TU5OqqGhQe+//36KK3XHqVOntGHDBp08eVJer1crVqzQwYMHdffdd0vK7t4AAGIjJxoAAAAAgATxM9EAAAAAACSITTQAAAAAAAliEw0AAAAAQILYRAMAAAAAkCA20QAAAAAAJIhNNAAAAAAACWITDQAAAABAgthEAwAAAACQIDbRAAAAAAAkiE00AAAAAAAJYhMNAAAAAECC/g8xH20DLfp3agAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1200x600 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 创建一个图形对象（figure）编号为0，大小为(12, 6)\n",
    "fig = plt.figure(0, (12, 6))\n",
    "\n",
    "# 对于前三个例子，分别创建子图\n",
    "for i in range(3):\n",
    "    fig.add_subplot(1, 3, i+1)\n",
    "    # 从数据集中获取图像信息\n",
    "    imageDict = data[exampleIndices[i]]\n",
    "    \n",
    "    # 提取图像特征\n",
    "    X1, y1 = extractFeatures(imageDict, whichImage='image1bit', dist=4)\n",
    "    # 将标签重新形状为图像的高度和宽度\n",
    "    yImage = y1.reshape(imageDict['boxHeight'], imageDict['boxWidth'])\n",
    "    \n",
    "    # 将图像转换为灰度\n",
    "    im = makeGrayScale(imageDict)\n",
    "    \n",
    "    # 用匹配的像素着色\n",
    "    im[:, :, 0][yImage == 1] = 0\n",
    "    im[:, :, 1][yImage == 1] = 0.5\n",
    "    im[:, :, 2][yImage == 1] = 1\n",
    "    \n",
    "    # 显示图像\n",
    "    plt.imshow(im, interpolation='none')\n",
    "    # 设置标题，显示手指像素的数量\n",
    "    plt.title('Number of finger pixels = ' + str(sum(y1 == 1)))\n",
    "\n",
    "# 显示图形\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "7867 495\n"
     ]
    }
   ],
   "source": [
    "# 从数据集中选择指定索引的例子\n",
    "examples = [data[index] for index in exampleIndices]\n",
    "\n",
    "# 从例子中提取特征和标签\n",
    "X, y = extractExamplesFromList(examples, whichImage='image1bit', dist=4)\n",
    "\n",
    "# 打印标签的长度和其中值为1的数量\n",
    "print(len(y), sum(y == 1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7372"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "7867-495"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 从我们的3个图像中，我们有7876个像素，其中495个对应于手指。\n",
    "- 记住，我们正在对每个像素周围的9x9网格（“示例”）进行采样，并仅使用此信息来确定像素是否属于手指。\n",
    "\n",
    "# 让我们更仔细地看一下我们的示例\n",
    "\n",
    "- 我们有7867个示例，但其中许多是冗余的，让我们只看最常见的示例"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "# 导入matplotlib.colors模块\n",
    "import matplotlib.colors as mcolors\n",
    "\n",
    "# 将颜色转换为RGB格式的函数\n",
    "c = mcolors.ColorConverter().to_rgb\n",
    "\n",
    "# 创建红色和蓝色的颜色映射\n",
    "# bw表示从白色到蓝色的渐变\n",
    "bw = make_colormap([(1, 1, 1), (1, 1, 1), 0.33, c('blue'), c('blue'), 0.66, c('blue')])\n",
    "# rw表示从白色到红色的渐变\n",
    "rw = make_colormap([(1, 1, 1), (1, 1, 1), 0.33, c('red'), c('red'), 0.66, c('red')])\n",
    "# rwb表示从红色到蓝色的渐变\n",
    "rwb = make_colormap([c('red'), c('red'), 0.33, (1, 1, 1), (1, 1, 1), 0.66, c('blue')])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "# 找到独特的行及其计数\n",
    "uniqueExamples, uniqueIndices, uniqueCounts = findUniqueRowsAndCount(X)\n",
    "\n",
    "# 根据独特行的索引获取相应的标签\n",
    "uniqueLabels = y[uniqueIndices]\n",
    "\n",
    "# 对独特计数进行排序，返回排序后的索引\n",
    "sI = np.argsort(uniqueCounts)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '3270 occurrences')"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUoAAAFgCAYAAADdHjBVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAURUlEQVR4nO3cfWxVhf3H8c8pt7e1l4dQWtaVImCVCqKAPIhrHY2zDUxlUmUUH6jDLBqCMbrFqZllsmyyRVniZnxKRJwkakSHRAk+AYYKqyj4UBOwYahxmwq6ESoItN/fH8u9v5Z7y/fcjtLjeL+SJnLPOfd8e4C359xzSmBmJgBAt3L6egAAiDpCCQAOQgkADkIJAA5CCQAOQgkADkIJAA5CCQAOQgkADkJ5lJUrV2r+/PkaP368hg4dqtzcXA0aNEhTp07V3Xffrf3796dt09HRoTfeeEONjY2qqqrSkCFDlJubq6KiItXU1GjlypXq7gegRo4cqSAI3K8lS5Zk3L61tVXXXnutysrKlJeXp7KyMl177bXatWvXcT0uwMks4EcYu6qqqtIbb7yhMWPGaPjw4SosLNRnn32mzZs368CBAzr99NO1ceNGlZaWprZpbW3VGWecIUkqLCzU5MmTNXjwYO3atUtvvvmmJOmSSy7RqlWrFI/Hu+zv5z//ufbs2ZNxli+//FJr1qyRJL3++uu64IILuixvampSbW2tvv76a5111lkaN26c3n//fbW0tCiRSOiVV17RtGnTjtuxAU5ahi62bNlie/fuTXt9z549VlVVZZKsvr6+y7LW1la78MILbe3atXbkyJEuyzZs2GCJRMIk2V133ZXVLL/73e9Mko0ePTptWVtbm5WWlpoku/3227ssu/32202SDR8+3L7++uus9gkgHaHMwuuvv26SrLCwMKvtfv3rX5skKy8vz2q7iooKk2RLly5NW3b//fenItre3t5lWXt7u40ePdok2YMPPpjVPgGk4zPKLMRiMUlSXl5eVttNnDhRkvTJJ5+E3qapqUk7duxQLBZTQ0ND2vLnnntOklRfX6+cnK6/jTk5OZo7d64k6dlnn81qVklqbm7Wj3/8Y5WWlioej2vo0KG69NJL9fLLLx9zu9dee01z5sxJfV5aXFysKVOmaPHixdq7d2/a+jt37tTChQtVUVGhgoICDRw4UGPHjtXChQv1/vvvp9bbsGGDgiBQdXV1t/tOfpZ7rNeXL1+u888/X4MGDVIQBNq9e7d2796tIAg0cuRItbe3a9myZZo4caL69++f9n47d+7U9ddfr/LycuXn52vQoEH6/ve/ryeeeCLjTNXV1QqCQBs2bND27dtVV1enoqIi5eXlaezYsbr33nu7/ey6p8czm/n+/e9/65e//KXOPvtsJRIJ5eXlqbS0VJWVlWpsbNThw4e7ne2k09el/rbYt2+f1dbWmiS7/vrrs9r2D3/4g0myESNGhN5mwYIFJslmzZqVcfmQIUNMkj3//PMZl69evdokWXFxcVazPvzww5aTk2OSbOLEiTZv3jz73ve+Z5JMkv3qV7/KuN2NN96YWmfChAlWX19vM2fOtNNOO80k2fr167usv3LlSsvLyzNJduqpp9rll19us2fPtvHjx1sQBLZ48eLUuuvXrzdJNn369G7nTu67u9cXLVpkOTk5VlVVZfPmzbPzzjvPdu/ebX/7299SM8yaNcvi8bj94Ac/sHnz5tk555yTep+nn37a8vPzTZKdeeaZNnv2bLvwwgtTH6v85Cc/Sdv39OnTTZLddtttFo/HbcyYMVZfX2/Tp0+3fv36mSS76aabjsvxzHa+trY2GzduXOrPyKWXXmr19fVWXV1tJSUlJsm++uqrbo/3yYZQdmPdunXW0NBg11xzjdXW1tqAAQNMks2YMcP+9a9/hX6ftrY2GzVqlEmyW265JdQ2+/fvt/79+5skW716ddryffv2pf4Sbd++PeN7vP3226l19u/fH2q/7777rsViMQuCwB5//PEuy1588UWLx+MmyV566aUuy+677z6TZEOGDLHXXnst7X3/+te/2scff5z69datWy03N9eCILD77rsv7aOD3bt329atW1O/Ph6hHDhwoG3evDlteTKUkqysrMx27NiRts67775reXl5lp+fb6tWrUqb9eyzzzZJtmLFii7LkqFUho9AXn31VQuCwPr162effPJJl2XZHs+ezLdixQqTZDNnzrRDhw512aa9vd02bNhg33zzTdq+T1aEshvJs8DOX1deeaX985//zOp9GhoaTJKVlpbanj17Qm3z6KOPmiQrKSmxw4cPpy3/9NNPUzN9+OGHGd9j586dqXX+/ve/h9rvddddZ5Ksrq4u4/JFixaZJKupqUm9dvjwYSsuLjZJaX9Ju3PZZZeZJLvxxhtDrX88QrlkyZKM23UO5dH/c0iaO3euSbJ77rkn4/Lm5maTZJMmTeryejKU3R3PGTNmpO23J8ezJ/P9/ve/N0m2bNmyUPs42RFKx6FDh6y1tdXuvfdeGzx4sBUWFtrGjRtDbbtkyRKTZPn5+bZp06bQ+6ysrDRJduutt2Zc3luhLC8vP+bl/LZt21LfT/Lu/pYtW0ySFRUVWUdHh7uPI0eOpC4H33vvvVBzHY9QfvDBBxm36xzKtra2tOXt7e02cOBAk5R25pfU0dFh/fv3t5ycHDtw4EDq9WQoly9fnnG7m2++2STZ3XffnXot2+PZ0/mSx7SkpMRWrFiR8UkP/D9u5jhyc3NVXl6uW265RWvXrtVXX32lq6++WgcOHDjmdsuWLVNjY6Py8vL03HPPqbKyMtT+du7cqaamJknSggULMq4zYMCA1H+3tbVlXKfzg/EDBw4Mte9PP/1UkjRq1KiMy8vLyyVJBw8eTN1M+OijjyRJFRUVGW+mHG3v3r2pmSsqKkLNdTyMHDnymMuHDh2qgoKCtNf37t2rffv2SZKGDx+e8YcBcnJytH//fnV0dGS8yXLqqadm3Gfy9+XgwYOp13pyPHsyX3V1tX7xi1/o888/V0NDg4qKilRRUaEFCxZo9erV6ujocPd9Mon19QDfJuedd57Gjh2rlpYWbd26Ne0B8KQ//vGP+tnPfqZ4PK5Vq1ZpxowZoffx6KOPSvrPg+/dhWTAgAEqLCzUl19+qY8//ljjx49PWyd5h72oqEiJRCL0/r+NwvylPuWUU3q0vPN7Z3r64GiZnog4+qmE4+m/mW/p0qW64YYbtGbNGm3atElNTU1avny5li9frilTpmj9+vX/8392QuvrU9pvm6lTp5oke+aZZzIu/9Of/mSSLB6P25o1a7J67yNHjth3v/vdY16uJV100UUmyRobGzMuv/POO02S1dbWht5/8tI70w0kM7Pt27enLr2Tn51u3rw5dec07KV3QUFBVpfeTU1NJsnOPffcjMt37drlXnp3J3np3d0TCUeOHLFTTjnFJNkXX3wRat6k5KX30XeokxYvXmySutzh78nx7Ol8mTQ3N6eewe3uz9bJiEvvLOzZs0fvvPOOJGn06NFpyx988EEtWrQodSZ5ySWXZPX+L774ov7xj39owIABmjNnzjHXnT17tiTpySefTDuj6ujo0FNPPSVJqqurC73/5HOKjz32WMblybPdCy64IPVM6eTJk1VUVKQvvvhCf/nLX9x99OvXTzU1NZKkRx55JNRcw4YNkyTt2rVLhw4dSlv+wgsvhHqfnug879NPP91r+0n6b47n8ZhvypQpWrhwoSRp+/bt//X7/c/o61JHSUtLiz3xxBNdPpBP2rFjh1VXV5skmzZtWtryhx9+2IIg6NGZZFLybvBPf/pTd93OP8J4xx13dFl2xx13pB53yeZHGDs/HvTnP/+5y7J169alnntct25dl2XJJwSKiooy3uhqbm7ucqOhubnZYrGY5eTk2P3335925nT040FmZmeccUbGu9fr16+3wYMH99oZpZnZW2+9ZfF43AoKCuyxxx5Le5zJzOy9995Lu0vdkzNKs+yPZ0/me/bZZ23jxo1p6x46dCh1Nz7sUwknA0LZSfJOYCKRsKqqKquvr7e6ujqbPHly6iHsMWPG2EcffdRlu23btlkQBKmHfRsaGrr96s5nn31mubm5Jsm2bNkSat5NmzalLmPHjRtn9fX1qYeIE4lExucGPQ899FDqez333HPtyiuvtMrKytT3l+mB846ODrvhhhtSUZo4caLV19fbD3/4w24fkF6xYkXq+x0xYoRdccUVVldXZxMmTEh74NzMbNWqVakZJkyYYHPmzLFJkyZZEATW2NjYq6E0+88D3cljXVZWZrW1tXbVVVfZzJkzrayszCTZ3Llzu2zT01D25HhmO99NN92UinFNTY1dddVVNmvWLBs6dKhJsmHDhnV7F/1kRCg7+fzzz+03v/mNzZgxw0aOHGmJRMLi8biVlJRYTU2NPfDAA3bw4MG07ZKBDfPVnXvuucck2VlnnZXVzB9++KHNnz/fSktLLTc310pLS23+/PnW2tqa9feftGXLFrviiiuspKTEYrGYDRkyxC6++OK0B82PtnbtWvvRj35k3/nOdyw3N9eKi4tt6tSpdtddd2V8/KSlpcWuu+46GzVqlOXl5dmgQYNs7NixtmjRImtpaUlb/4UXXrDKykorKCiwRCJh06ZNs6eeesrM/MeDuhM2lMl1b775Zhs3bpwlEgnLz8+3ESNGWHV1tS1dujTtmPc0lEnZHs9s5tu2bZvddtttVlVVZcOGDbN4PG7FxcU2adIk++1vfxv6md+TBf/MGgA4uJkDAA5CCQAOQgkADkIJAA5CCQAOQgkADkIJAI7w/3pQiH/yCQC+VUI+Rp7dP7PW18+md451X84SlTmk6MwSlTmk6MwSlTmk6MwSlTmkrE7+uPQGAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAEdgZhZuzaCXRwGAEyxk/jijBAAHoQQARyyrtUOepvaazpf/fTlLVOaQojNLVOaQojNLVOaQojNLVOaQsvo4kTNKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcARmZuHWDHp5FAA4wULmjzNKAHAQSgBwxLJaO+Rpaq/pfPnfl7NEZQ4pOrNEZQ4pOrNEZQ4pOrNEZQ4pq48TOaMEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAR2BmFm7NoJdHAYATLGT+OKMEAAehBABHLKu1Q56m9prOl/99OUtU5pCiM0tU5pCiM0tU5pCiM0tU5pCy+jiRM0oAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwBGZm4dYMenkUADjBQuaPM0oAcBBKAHDEslo75Glqr+l8+d+Xs0RlDik6s0RlDik6s0RlDik6s0RlDimrjxM5owQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAR2BmFm7NoJdHAYATLGT+OKMEAAehBABHLKu1Q56m9prOl/99OUtU5pCiM0tU5pCiM0tU5pCiM0tU5pCy+jiRM0oAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwBGZm4dYMenkUADjBQuaPM0oAcBBKAHDEslo75Glqr+l8+d+Xs0RlDik6s0RlDik6s0RlDik6s0RlDimrjxM5owQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBABHYGYWbs2gl0cBgBMsZP44owQAB6EEAEcsq7VDnqb2ms6X/305S1TmkKIzS1TmkKIzS1TmkKIzS1TmkLL6OJEzSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAQSgBwEEoAcBBKAHAEZmbh1gx6eRQAOMFC5o8zSgBwEEoAcMSyWjvkaWqv6Xz535ezRGUOKTqzRGUOKTqzRGUOKTqzRGUOKauPEzmjBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBAAHoQQAB6EEAAehBABHYGYWbs2gl0cBgBMsZP5ix/sNAeB/DZfeAOAglADgIJQA4CCUAOAglADgIJQA4CCUAOAglADgIJQA4Pg/ZOvWOZKocYsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 400x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 显示最常见的例子\n",
    "fig = plt.figure(0, (4, 4))  # 创建图形对象，编号为0，大小为(4, 4)\n",
    "example = uniqueExamples[0, :].reshape(9, 9)  # 获取最常见的例子，并调整形状为(9, 9)\n",
    "p = plt.pcolor(np.flipud(example), cmap=rw, linewidth=1.3, color='r', vmin=0, vmax=1)  # 绘制热力图\n",
    "plt.axis('off')  # 关闭坐标轴显示\n",
    "plt.title(str(uniqueCounts[0]) + ' occurrences', fontsize=16)  # 设置标题，显示该例子的出现次数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 现在让我们看一下最常见的40个模式\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABOwAAAMnCAYAAACNzc18AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABNfUlEQVR4nO3de7hdZX0n8N8OB0JCSGIit3CNAkGDQChQg+UqMGECoZFLsCCCtAqVi0Wlou04pTQ+BUbL5UGdsQNogxBJn1GuFURGZIBAi1wEi+UikISbBEgIuUDW/MGTdB8SOGtnn73ed+39+TxP/ujOes/+ZfV73r34+p6kURRFEQAAAABAFoakHgAAAAAA+E8KOwAAAADIiMIOAAAAADKisAMAAACAjCjsAAAAACAjCjsAAAAAyIjCDgAAAAAyorADAAAAgIwo7AAAAAAgIwo7AAAAAMhI1xd2v/71r+Poo4+OD3zgAzF8+PB4//vfH/vuu29cd911q69ZuXJlXHHFFTFt2rTYeuutY6ONNoqdd945zjvvvFi6dGm/r3fFFVdEo9F411+zZs3qd/28efPimGOOidGjR8fIkSPjiCOOiCeeeKKSPzv5uf322981O3fffffq637605/GySefHDvvvHOst956sd122631682fPz+OP/74mDBhQmy88cYxevTo2GuvveLKK6+Moigq+lNRR2X2xlUeffTRmDJlSowYMSLGjBkTn/rUp+LFF19MMDXd4N57743TTjstJk6cGBtttFFss802ccwxx8Rjjz22xrWzZ8+Oj370ozF69OgYO3Zs7LfffnHDDTckmJq6ayV39jwGi9yRgtyRiuwNvkbR5f9Vf+ONN8bFF18ckydPjnHjxsWSJUtizpw5cccdd8R3v/vd+OxnPxuLFy+OjTfeOD760Y/GYYcdFptuumncddddceWVV8a+++4bt912WzQajYiIeOKJJ+L//b//t8b7fOtb34oHHnggnn322dh8880jImLx4sWx++67x6uvvhpf/OIXY/31149vfetbURRF/OpXv4qxY8dWei9I7/bbb48DDjggzjjjjNhzzz37/d6UKVPi/e9/f0REnHjiiXHNNdfE7rvvHk8//XSst9568dRTT63x9R588ME444wz4mMf+1hss802sWLFirjlllviJz/5SZxzzjkxc+bMKv5Y1FCZvTEi4tlnn41JkybFqFGj4owzzojFixfHhRdeGNtss03MnTs3Nthgg8R/EurmqKOOijvvvDOOPvro2GWXXeK5556LSy+9NBYvXhx333137LzzzhERcckll8QZZ5wRU6dOjcMOOyyWLl0aV1xxRTzwwAMxZ86c+MQnPpH4T0KdlM2dPY/BJHekIHekInsdUPSgN998s9h1112LCRMmFEVRFMuWLSvuvPPONa77m7/5myIiiltuueU9v96SJUuKjTfeuDj44IP7vf73f//3RUQUc+fOXf3ao48+Wqy33nrFOeecMwh/Eurm5z//eRERxY9+9KP3vG7evHnF8uXLi6IoiqlTpxbbbrttS+9z2GGHFRtttFHx5ptvruuo9KB37o1FURSnnnpqMWzYsOJ3v/vd6tduueWWIiKK7373uynGpObuvPPOYtmyZf1ee+yxx4qhQ4cWxx133OrXdthhh2LPPfcsVq5cufq1V199tRgxYkQxbdq0yualO5TNnT2PwSR3pCB3pCJ7g6/rfyR2bdZbb73Yeuut45VXXomIiA022CD23nvvNa6bPn16RLx9XPO9XHfddbFo0aI47rjj+r1+7bXXxp577tnvJNVOO+0UH//4x2P27Nlt/imou0WLFsWbb7651t8bN25crL/++uv8tbfbbrtYsmRJLF++fJ2/Br3nnXtjRMScOXPisMMOi2222Wb1awcddFDsuOOO9jHWyd57773G/3K6ww47xMSJE/t93r722mux6aabrj7hHhExcuTIGDFiRAwbNqyyeekOZXNnz2MwyR0pyB2pyN7g65nC7vXXX4+XXnopHn/88fjWt74VN910U3z84x9/zzXPPfdcRMTqH1N8N7NmzYphw4b1+/GclStXxoMPPhh77LHHGtfvtdde8fjjj8eiRYvW4U9CNzjppJNi5MiRseGGG8YBBxwQ9913X1tf74033oiXXnopnnrqqbjyyivj8ssvj8mTJ/uPWgb0XnvjvHnz4oUXXnjXfez++++vely6VFEU8fzzz/f7vN1///3j5ptvjksuuSSeeuqp+M1vfhOf//zn49VXX40zzzwz4bR0i3fmzp5HFeSOFOSOVGSvPT1T2H3xi1+MTTbZJLbffvv40pe+FNOnT49LL730Pdecf/75MXLkyDj00EPf9ZqXX345br755jj88MNj44037vf6smXLYosttlhjzarX5s+fv45/Gupqgw02iCOPPDIuuuii+PGPfxznnXdePPTQQ7HPPvu0tTlddNFFsckmm8T48ePjxBNPjI9+9KNx9dVXD+LkdKv32hsXLFgQEfGu+9iqfQ7aNWvWrJg3b17MmDFj9WsXX3xx7L///nHGGWfE+PHj40Mf+lDMnj07fvazn8XkyZMTTku3eGfu7HlUQe5IQe5IRfba05d6gKp84QtfiKOOOirmz58fs2fPjrfeeus9f1xw5syZceutt8Zll10Wo0ePftfrrr322li+fPkaPw77xhtvRETE0KFD11iz4YYb9ruG3rH33nv3+/HradOmxVFHHRW77LJLnHPOOXHzzTev09f95Cc/GXvssUe8+OKLcf3118fzzz8vX5TyXntj2X1sbb8PZa06OTd58uT49Kc/vfr14cOHx4QJE2KrrbaKww47LBYtWhTf+ta34hOf+ETccccdsf322yecmrpbW+7seXSa3JGC3JGK7LWvZwq7nXbaKXbaaaeIiDjhhBPikEMOicMPPzzuueeefn8/TkTENddcE3/1V38VJ598cpx66qnv+XVnzZoVY8aMWeMU3qofRVxbO7x06dJ+19Dbtt9++zjiiCPin//5n+Ott96K9dZbr+Wvse2228a2224bEW+Xd5/97GfjoIMOin//93+XM97Te+2N9jE67bnnnoupU6fGqFGj4tprr+23/x199NHR19cX11133erXjjjiiNhhhx3ia1/7WlxzzTUpRqYLvFvu7Hl0ktyRgtyRiuwNjp75kdh3Ouqoo+Lee++Nxx57rN/rt9xyS5xwwgkxderU+M53vvOeX+Ppp5+OO+64I44++ug1/oGAMWPGxNChQ1cf+Wy26rVx48a1+aegW2y99daxfPnyeP311wfl6x111FHxzDPPxC9+8YtB+Xr0jua9cdVR9Xfbx1btc7AuXn311Tj00EPjlVdeiZtvvrnfZ+ITTzwRN998c0ybNq3fmjFjxsQf/dEfxZ133ln1uHSJ98qdPY9OkTtSkDtSkb3B0zMn7N5p1VHMV199dfVr99xzT0yfPj322GOPmD17dvT1vfft+eEPfxhFUazx47AREUOGDImPfOQja/3HBO655574wAc+0O/vvKO3PfHEE7HhhhvGiBEjBuXrrS3fUEZzdiZMmBCbbLLJWvexuXPnxm677VbxdHSLpUuXxuGHHx6PPfZY3HrrrfHhD3+43+8///zzERHx1ltvrbF2xYoV7/ovbMN7GSh3W265pT2PQSd3pCB3pCJ7g6vrT9i98MILa7y2YsWK+P73vx/Dhg1bHaBHH300pk6dGtttt11cf/31pY5hXnXVVbHNNtvEH/3RH63191edVGkO47//+7/HbbfdFkcfffQ6/omosxdffHGN1x544IH4yU9+EoccckgMGdLat+Tavl5ExD/+4z9Go9GI3XfffZ3mpPuV3RuPPPLIuP766+OZZ55Zfd3PfvazeOyxx+xjrJO33norZsyYEXfddVf86Ec/Wus/ILH99tvHkCFD4pprromiKFa//uyzz8Ydd9wRkyZNqnJkukCZ3EXY8xhcckcKckcqsjf4GkXzk3AXmj59erz22mux7777xpZbbhnPPfdczJo1K37zm9/E//gf/yPOOuusWLRoUUycODHmzZsXM2fOjC233LLf1/jgBz+4Rtgefvjh+MhHPhJf+cpX4hvf+MZa33vRokUxadKkWLRoUXzpS1+K9ddfP775zW/GW2+9Fb/61a9ik0026difmzwdeOCBMWzYsNh7771j0003jUceeST+5//8n7H++uvHXXfdFR/60IciIuLBBx+Mn/zkJxER8U//9E/x/PPPxxe/+MWIiNh1113j8MMPj4i3/8GAO++8M6ZMmRLbbLNNvPzyyzFnzpy499574/TTT4+LL744zR+U7JXZGyMinnnmmZg0aVKMHj06zjzzzFi8eHFccMEFsdVWW8W9997ryDot+8IXvhAXXXRRHH744XHMMces8fvHH398RET82Z/9WXzve9+LAw44ID7xiU/EokWL4rLLLosFCxbEbbfdFvvuu2/Vo1NjZXNnz2MwyR0pyB2pyF4HFF3uhz/8YXHQQQcVm222WdHX11e8733vKw466KDixz/+8eprnnzyySIi3vXXpz/96TW+7le+8pUiIooHH3zwPd//mWeeKY466qhi5MiRxYgRI4rDDjus+O1vfzvYf0xq4qKLLir22muvYsyYMUVfX1+xxRZbFMcff/wambj88stL5fGnP/1pcdhhhxXjxo0r1l9//WLjjTcuPvaxjxWXX355sXLlyor/dNRJmb1xlYcffrg45JBDiuHDhxejR48ujjvuuOK5555LMDXdYL/99nvPz9xVVqxYUVxyySXFbrvtVowYMaIYMWJEccABBxS33XZbwumpq7K5Kwp7HoNH7khB7khF9gZf15+wAwAAAIA66fq/ww4AAAAA6kRhBwAAAAAZUdgBAAAAQEYUdgAAAACQEYUdAAAAAGREYQcAAAAAGekrfWWj0cExqJ2iqOZ95I5mVeUuQvboz55HCnJHCnJHCp7xSMWeRwolc+eEHQAAAABkpPwJu4jW2+fmFjnFWvN2fi10M/tAPu/Zztq67Vl1u6fmHfy1qTLbK/e0l+atg7rd07rNy9r1Ugbq9kzazeqQu+a1MpCcE3YAAAAAkBGFHQAAAABkRGEHAAAAABlR2AEAAABARhR2AAAAAJARhR0AAAAAZERhBwAAAAAZUdgBAAAAQEYUdgAAAACQEYUdAAAAAGREYQcAAAAAGWkURVGUu7LR4VGolZKxaZvc0ayq3EXIHv3Z80hB7khB7kjBMx6p2PNIoWTunLADAAAAgIz0tXR1q+1zc4ucYq15O78Wupl9IJ/3bGdt3fa7Xrqn5h14XZV65Z720rx1ULd7Wrd5WbteykDdnkm7WR1y17xWBpJzwg4AAAAAMqKwAwAAAICMKOwAAAAAICMKOwAAAADIiMIOAAAAADKisAMAAACAjCjsAAAAACAjCjsAAAAAyIjCDgAAAAAyorADAAAAgIwo7AAAAAAgI42iKIpyVzY6PAq1UjI2bZM7mlWVuwjZoz97HinIHSnIHSl4xiMVex4plMydE3YAAAAAkBGFHQAAAABkpK+lq1s9Ltp87DPFWvN2fi10M/tAPu/Zztq67Xe9dE/NO/C6KvXKPe2leeugbve0bvOydr2Ugbo9k3azOuSuea0MJOeEHQAAAABkRGEHAAAAABlR2AEAAABARhR2AAAAAJARhR0AAAAAZERhBwAAAAAZUdgBAAAAQEYUdgAAAACQEYUdAAAAAGREYQcAAAAAGVHYAQAAAEBGGkVRFOWubHR4FGqlZGzaJnc0qyp3EbJHf/Y8UpA7UpA7UvCMRyr2PFIomTsn7AAAAAAgIwo7AAAAAMhIX0tXt3pctPnYZ4q15u38Wuhm9oF83rOdtXXb73rpnpp34HVV6pV72kvz1kHd7mnd5mXteikDdXsm7WZ1yF3zWhlIzgk7AAAAAMiIwg4AAAAAMqKwAwAAAICMKOwAAAAAICMKOwAAAADIiMIOAAAAADKisAMAAACAjCjsAAAAACAjCjsAAAAAyIjCDgAAAAAyorADAAAAgIw0iqIoyl3Z6PAo1ErJ2LRN7mhWVe4iZI/+7HmkIHekIHek4BmPVOx5pFAyd07YAQAAAEBG+lq6utX2ublFTrHWvJ1fC93MPpDPe7aztm77XS/dU/MOvK5KvXJPe2neOqjbPa3bvKxdL2Wgbs+k3awOuWteKwPJOWEHAAAAABlR2AEAAABARhR2AAAAAJARhR0AAAAAZERhBwAAAAAZUdgBAAAAQEYUdgAAAACQEYUdAAAAAGREYQcAAAAAGVHYAQAAAEBGFHYAAAAAkJFGURRFuSsbHR6FWikZm7bJHc2qyl2E7NGfPY8U5I4U5I4UPOORij2PFErmzgk7AAAAAMiIwg4AAAAAMtLX0tWtHhdtPvaZYq15O78Wupl9IJ/3bGdt3fa7Xrqn5h14XZV65Z720rx1ULd7Wrd5WbteykDdnkm7WR1y17xWBpJzwg4AAAAAMqKwAwAAAICMKOwAAAAAICMKOwAAAADIiMIOAAAAADKisAMAAACAjCjsAAAAACAjCjsAAAAAyIjCDgAAAAAyorADAAAAgIwo7AAAAAAgI42iKIpyVzY6PAq1UjI2bZM7mlWVuwjZoz97HinIHSnIHSl4xiMVex4plMydE3YAAAAAkBGFHQAAAABkpK+lq1s9Ltp87DPFWvN2fi10M/tAPu/Zztq67Xe9dE/NO/C6KvXKPe2leeugbve0bvOydr2Ugbo9k3azOuSuea0MJOeEHQAAAABkRGEHAAAAABlR2AEAAABARhR2AAAAAJARhR0AAAAAZERhBwAAAAAZUdgBAAAAQEYUdgAAAACQEYUdAAAAAGREYQcAAAAAGVHYAQAAAEBGGkVRFOWubHR4FGqlZGzaJnc0qyp3EbJHf/Y8UpA7UpA7UvCMRyr2PFIomTsn7AAAAAAgI30tXd1q+9zcIqdYa97Or4VuZh/I5z3bWVu3/a6X7ql5B15XpV65p700bx3U7Z7WbV7WrpcyULdn0m5Wh9w1r5WB5JywAwAAAICMKOwAAAAAICMKOwAAAADIiMIOAAAAADKisAMAAACAjCjsAAAAACAjCjsAAAAAyIjCDgAAAAAyorADAAAAgIwo7AAAAAAgIwo7AAAAAMhIoyiKotyVjQ6PQq2UjE3b5I5mVeUuQvboz55HCnJHCnJHCp7xSMWeRwolc+eEHQAAAABkRGEHAAAAABnpa+nqVo+LNh/7TLHWvJ1fC93MPpDPe7aztpf2u7rdU/MOvK5KvXJPe2neOqjbPa3bvKxdL2Wgbs+k3awOuWteKwPJOWEHAAAAABlR2AEAAABARhR2AAAAAJARhR0AAAAAZERhBwAAAAAZUdgBAAAAQEYUdgAAAACQEYUdAAAAAGREYQcAAAAAGVHYAQAAAEBGFHYAAAAAkJFGURRFuSsbHR6FWikZm7bJHc2qyl2E7NGfPY8U5I4U5I4UPOORij2PFMrWcKULOwAAAACg4/xILAAAAABkRGEHAAAAABlR2AEAAABARhR2AAAAAJARhR0AAAAAZERh12Tx4sXx9a9/PaZMmRJjxoyJRqMRV1xxxVqvvfTSS+NDH/pQDB06NLbccss466yz4vXXX692YLqG7JFC2dw1Go13/XXwwQdXPzi1Jnek0Mrn7MqVK+Pb3/527LbbbjFs2LAYO3ZsHHjggfHAAw9UOzRdoWz2TjzxxLXudzvttFP1Q1N7ckcKrXzWrrJixYr48Ic/HI1GIy688MJqBq2RvtQD5OSll16Kc889N7bZZpvYdddd4/bbb1/rdX/5l38Z559/fhx11FFx5plnxiOPPBKXXHJJ/PrXv45/+Zd/qXZouoLskULZ3P3gBz9Y47X77rsvLrroojjkkEM6PCXdRu5IoWzuIiI+85nPxKxZs+KEE06I0047LV5//fW4//7744UXXqhuYLpGK9kbOnRofO973+v32qhRozo8Id1I7kihldytcskll8TTTz/d+eFqSmHXZIsttogFCxbE5ptvHvfdd1/sueeea1yzYMGC+OY3vxmf+tSn4vvf//7q13fcccc4/fTT47rrrovDDz+8yrHpArJHCmVyFxFx/PHHr/Ha7bffHo1GIz75yU92eky6jNyRQtnczZ49O6688sr453/+55g+fXrFU9KNymYvIqKvr2+tex+0Su5IoZXcRUS88MILce6558Zf/uVfxn/7b/+toinrxY/ENhk6dGhsvvnm73nNXXfdFW+++WYce+yx/V5f9X9fffXVHZuP7iV7pFAmd2uzbNmymDNnTuy3336x1VZbdWAyupnckULZ3H3zm9+MvfbaK6ZPnx4rV670V07Qtlb3vLfeeitee+21Dk5EL5A7Umg1d1/5yldiwoQJCuP3oLBr0bJlyyIiYtiwYf1eHz58eERE/Ou//mvlM9EbZI9c3HjjjfHKK6/Ecccdl3oUeojc0WmvvfZazJ07N/bcc8/46le/GqNGjYoRI0bEBz7wgZg9e3bq8egBS5YsiZEjR8aoUaNizJgx8fnPfz4WL16ceiy6nNyRwty5c+PKK6+Mf/iHf4hGo5F6nGz5kdgWTZgwISIi7rzzzjjggANWv37HHXdERMS8efOSzEX3kz1yMWvWrBg6dGgcddRRqUehh8gdnfb4449HURRx9dVXR19fX5x//vkxatSouOiii+LYY4+NkSNHxpQpU1KPSZfaYost4uyzz47dd989Vq5cGTfffHNcdtll8cADD8Ttt98efX3+s43BJ3ekUBRFnH766TFjxoyYPHlyPPXUU6lHypbvwBbtvvvu8Yd/+Ifx93//97HlllvGAQccEI8++miceuqpsf7668cbb7yRekS6lOyRg9deey1uuOGG+K//9b/G6NGjU49Dj5A7qrDqRMnvf//7uPvuu+MP//APIyJi2rRpMX78+DjvvPMUdnTMN77xjX7/97HHHhs77rhjfO1rX4trr712jb8SBQaD3JHCFVdcEQ899FBce+21qUfJnh+JXQdz5syJXXfdNT7zmc/E+PHj4/DDD49jjjkmJk2aFCNGjEg9Hl1M9khtzpw5sXTpUj+WSKXkjiqs+isnxo8fv7qsi4gYMWJEHH744TF37tx48803U41HD/qLv/iLGDJkSNx6662pR6GHyB2d9Nprr8U555wTX/7yl2PrrbdOPU72nLBbB1tuuWX88pe/jN/+9rfx3HPPxQ477BCbb755jBs3LnbcccfU49HFZI/UZs2aFaNGjYrDDjss9Sj0ELmjCuPGjYuIiM0222yN39t0001jxYoV8frrr8eoUaOqHo0eNWzYsBg7dmy8/PLLqUehh8gdnXThhRfG8uXLY8aMGat/FPbZZ5+NiIiFCxfGU089FePGjYsNNtgg4ZT5cMKuDTvssEPss88+sfnmm8cjjzwSCxYsiIMOOij1WPQA2SOFBQsWxM9//vM48sgjY+jQoanHoUfIHVUZN25cbL755mv9O2Hnz58fG264YWy88cYJJqNXLVq0KF566aXYZJNNUo9CD5E7Ounpp5+OhQsXxsSJE2P8+PExfvz42GeffSIiYubMmTF+/Ph45JFHEk+ZDyfsBsHKlSvj7LPPjuHDh8cpp5ySehx6iOxRpauvvjpWrlzpxxKplNxRpRkzZsRFF10Ut9xySxx88MEREfHSSy/Fj3/84zjwwANjyBD/WzeDb+nSpbFixYo1CuG//du/jaIo/N2JdITckcIZZ5wRf/zHf9zvtRdeeCE+97nPxYknnhhHHHFEjB8/Ps1wGVLYvcOll14ar7zySsyfPz8iIq677rrVRzRPP/30GDVqVJx55pmxdOnS2G233WLFihVx1VVXrf5nibfZZpuU41NjskcKZXK3yqxZs2LcuHGx//77pxiVLiJ3pFAmd+ecc07Mnj07jjzyyDjrrLNi1KhR8Z3vfCdWrFgRM2fOTDk+NTZQ9hYuXBiTJk2KT37yk7HTTjtFRMS//Mu/xI033hhTpkyJI444Itns1JfckcJAudt9991j991377dm1Y/GTpw4cY0yr+cV9LPtttsWEbHWX08++WRRFEVx+eWXF7vuumux0UYbFRtvvHHx8Y9/vLjtttvSDk7tyR4plMldURTFb37zmyIiirPOOivdsHQNuSOFsrl7/PHHi+nTpxcjR44shg0bVhx44IHF3Llz0w1O7Q2UvYULFxbHH398sf322xfDhw8vhg4dWkycOLGYOXNmsXz58tTjU1NyRwplP2ubPfnkk0VEFBdccEG1w9ZAoyiKYpA7QAAAAABgHfmLOAAAAAAgIwo7AAAAAMiIwg4AAAAAMqKwAwAAAICMKOwAAAAAICMKOwAAAADIiMIOAAAAADLSV/bCRqOTY1A3RVHRGwkezSoLXsge/VWVPbmjmdyRgtyRgmc8UrHnkULJ3JUu7Fr4mqs1ZzLF2nbeE4Au1O0fDFV92Kb+gG91bZ3nrVKv3FPzlltblV66p3Watw7ZSUUGOvee7ayV2bzULQOZftb6kVgAAAAAyIjCDgAAAAAyorADAAAAgIwo7AAAAAAgIwo7AAAAAMiIwg4AAAAAMqKwAwAAAICMKOwAAAAAICMKOwAAAADIiMIOAAAAADKisAMAAACAjDSKoihKXdjo9CjUSbnUDALBo1llwQvZo7+qsid3NJM7UpA7UvCMRyr2PFIomTsn7AAAAAAgIwo7AAAAAMhIXysXt3patPnUZ4q17bwnANROVR+2qT/gW11b53mr1Cv31Lzl1lall+5pneatQ3baIQMDr63DPWpe2+2ZrZu6ZSDTz1on7AAAAAAgIwo7AAAAAMiIwg4AAAAAMqKwAwAAAICMKOwAAAAAICMKOwAAAADIiMIOAAAAADKisAMAAACAjCjsAAAAACAjCjsAAAAAyIjCDgAAAAAy0iiKoih1YaPTo1An5VIzCASPZpUFL2SP/qrKntzRTO5IQe5IwTMeqdjzSKFk7pywAwAAAICMKOwAAAAAICN9rVzc6mnR5lOfKda2854AkEQdPmxTf8C3urbO81apV+6pecutrUov3dM6zSt3/clANe/Zzto65K6X1C0Dme55TtgBAAAAQEYUdgAAAACQEYUdAAAAAGREYQcAAAAAGVHYAQAAAEBGFHYAAAAAkBGFHQAAAABkRGEHAAAAABlR2AEAAABARhR2AAAAAJCRRlEURakLG50ehTopl5pBIHg0qyx4IXv0V1X25I5mckcKckcKnvFIxZ5HCiVz54QdAAAAAGREYQcAAAAAGelr5eJWT4s2n/pMsbad9wSAJOrwYZv6A77VtXWet0q9ck/NW25tVXrpntZpXrnrTwaqec921tYhd72kbhnIdM9zwg4AAAAAMqKwAwAAAICMKOwAAAAAICMKOwAAAADIiMIOAAAAADKisAMAAACAjCjsAAAAACAjCjsAAAAAyIjCDgAAAAAyorADAAAAgIwo7AAAAAAgI42iKIpSFzY6PQp1Ui41g0DwaFZZ8EL26K+q7MkdzeSOFOSOFDzjkYo9jxRK5s4JOwAAAADIiMIOAAAAADLS18rFrZ4WbT71mWJtO+8JAEnU4cM29Qd8q2vrPG+VeuWemrfc2qr00j2t07xy158MVPOe7aytQ+56Sd0ykOme54QdAAAAAGREYQcAAAAAGVHYAQAAAEBGFHYAAAAAkBGFHQAAAABkRGEHAAAAABlR2AEAAABARhR2AAAAAJARhR0AAAAAZERhBwAAAAAZUdgBAAAAQEYaRVEUpS5sdHoU6qRcagaB4NGssuCF7NFfVdmTO5rJHSnIHSl4xiMVex4plMydE3YAAAAAkBGFHQAAAABkpK+Vi1s9Ldp86jPF2nbeEwCSqMOHbeoP+FbX1nneKvXKPTVvubVV6aV7Wqd55a4/GajmPdtZW4fc9ZK6ZSDTPc8JOwAAAADIiMIOAAAAADKisAMAAACAjCjsAAAAACAjCjsAAAAAyIjCDgAAAAAyorADAAAAgIwo7AAAAAAgIwo7AAAAAMiIwg4AAAAAMtIoiqIodWGj06NQJ+VSMwgEj2aVBS9kj/6qyp7c0UzuSEHuSMEzHqnY80ihZO6csAMAAACAjCjsAAAAACAjfa1c3Opp0eZTnynWtvOeAJBEHT5sU3/At7q2zvNWqVfuqXnLra1KL93TOs0rd/3JQDXv2c7aOuSul9QtA5nueU7YAQAAAEBGFHYAAAAAkBGFHQAAAABkRGEHAAAAABlR2AEAAABARhR2AAAAAJARhR0AAAAAZERhBwAAAAAZUdgBAAAAQEYUdgAAAACQEYUdAAAAAGSkURRFUerCRqdHoU7KpWYQCB7NKgteyB79VZU9uaOZ3JGC3JGCZzxSseeRQsncOWEHAAAAABlR2AEAAABARvpaubjV06LNpz5TrG3nPQEgiTp82Kb+gG91bZ3nrVKv3FPzlltblV66p3WaV+76k4Fq3rOdtXXIXS+pWwYy3fOcsAMAAACAjCjsAAAAACAjCjsAAAAAyIjCDgAAAAAyorADAAAAgIwo7AAAAAAgIwo7AAAAAMiIwg4AAAAAMqKwAwAAAICMKOwAAAAAICMKOwAAAADISKMoiqLUhY1Oj0KdlEvNIBA8mlUWvJA9+qsqe3JHM7kjBbkjBc94pGLPI4WSuXPCDgAAAAAyorADAAAAgIz0tXJxq6dFm099pljbznuSGf/PBHpFHT5sU3/At7q2zvNWqVfuaS/NWwd1u6e9Mm+qe1QVGRh4bR3uUfPaOuSul9QtA5nueU7YAQAAAEBGFHYAAAAAkBGFHQAAAABkRGEHAAAAABlR2AEAAABARhR2AAAAAJARhR0AAAAAZERhBwAAAAAZUdgBAAAAQEYUdgAAAACQkUZRFEWpCxudHoU6KZeaQSB4NKsseCF79FdV9uSOZnJHCnJHCp7xSMWeRwolc+eEHQAAAABkpPQJOwAAAACg85ywAwAAAICMKOwAAAAAICMKOwAAAADIiMIOAAAAADKisAMAAACAjCjsmixevDi+/vWvx5QpU2LMmDHRaDTiiiuueM81K1asiA9/+MPRaDTiwgsvrGZQuo7skULZ3P2v//W/Yr/99ovNNtsshg4dGuPHj4+TTjopnnrqqcpnpv7K5G7lypVxxRVXxLRp02LrrbeOjTbaKHbeeec477zzYunSpWkGp9bK7ndz586NP//zP48/+IM/iPXXXz8ajUb1w9JVWnnGe/TRR2PKlCkxYsSIGDNmTHzqU5+KF198sdqB6QpyRwpyN/gUdk1eeumlOPfcc+PRRx+NXXfdtdSaSy65JJ5++ukOT0a3kz1SKJu7+++/P8aPHx9nn312fPvb347jjz8+brrppthzzz1j/vz5FU5MNyiTuyVLlsRJJ50UL774YpxyyinxD//wD7HXXnvF17/+9Tj00EOjKIqKp6buyu53N954Y3zve9+LRqMRH/jAByqckG5VNnvPPvts7LvvvvEf//EfMXPmzPjSl74UN9xwQxx88MGxfPnyCiemG8gdKchdBxSstnTp0mLBggVFURTFvffeW0REcfnll7/r9c8//3wxatSo4txzzy0iorjgggsqmpRuI3uk0Grumt13331FRBTf+MY3Ojgh3ahM7pYtW1bceeeda6z9m7/5myIiiltuuaWKUekiZfe75557rliyZElRFEXx+c9/vvCoTLvKZu/UU08thg0bVvzud79b/dott9xSRETx3e9+t6px6RJyRwpyN/icsGsydOjQ2HzzzUtf/5WvfCUmTJgQxx9/fAenohfIHim0mrtm2223XUREvPLKK4M3ED2hTO422GCD2Hvvvdd4ffr06RHx9o9RQCvK7nebbbZZDBs2rIKJ6BVlszdnzpw47LDDYptttln92kEHHRQ77rhjzJ49u5Mj0oXkjhTkbvD1pR6grubOnRtXXnll/PKXv/T3m1Ap2SOV3//+9/HWW2/F008/Heeee25ERHz84x9PPBW95LnnnouIiPe///2JJwEYPPPmzYsXXngh9thjjzV+b6+99oobb7wxwVR0O7kjBblrjcJuHRRFEaeffnrMmDEjJk+e7C9epzKyR0pbbrllLFu2LCIixo4dGxdffHEcfPDBiaeil5x//vkxcuTIOPTQQ1OPAjBoFixYEBERW2yxxRq/t8UWW8TLL78cy5Yti6FDh1Y9Gl1M7khB7lqjsFsHV1xxRTz00ENx7bXXph6FHiN7pHTTTTfF0qVL49FHH41/+qd/itdffz31SPSQmTNnxq233hqXXXZZjB49OvU4AIPmjTfeiIhY63+gbrjhhquv8R+wDCa5IwW5a43CrkWvvfZanHPOOfHlL385tt5669Tj0ENkj9QOOOCAiIg49NBD44gjjoidd945RowYEaeddlriyeh211xzTfzVX/1VnHzyyXHqqaemHgdgUK36exNXnWJvtnTp0n7XwGCRO1KQu9b4RydadOGFF8by5ctjxowZ8dRTT8VTTz0Vzz77bERELFy4MJ566in/FDEdIXvk5IMf/GBMmjQpZs2alXoUutwtt9wSJ5xwQkydOjW+853vpB4HYNCt+tGwVT8q1mzBggUxZswYp00YdHJHCnLXGoVdi55++ulYuHBhTJw4McaPHx/jx4+PffbZJyLe/nGd8ePHxyOPPJJ4SrqR7JGbN954I1599dXUY9DF7rnnnpg+fXrsscceMXv27Ojr84MBQPfZcsstY5NNNon77rtvjd+bO3du7LbbbtUPRdeTO1KQu9Z48m3RGWecEX/8x3/c77UXXnghPve5z8WJJ54YRxxxRIwfPz7NcHQ12SOFN998MxYtWhTve9/7+r0+d+7ceOihh+JP/uRPEk1Gt3v00Udj6tSpsd1228X111/vxyOArnbkkUfGlVdeGc8888zqv/rkZz/7WTz22GPxF3/xF4mno1vJHSnIXXkKu3e49NJL45VXXon58+dHRMR11123+scOTz/99Nh9991j991377dm1b/UOXHixDUKFShL9khhoNwVRRFbb711zJgxIyZOnBgbbbRRPPTQQ3H55ZfHqFGj4q//+q9Tjk9NDZS7IUOGxH/5L/8lFi5cGF/+8pfjhhtu6Lf+gx/8YEyePLnyuam3gXI3atSo+N3vfhc/+MEPIiJW/6//5513XkREbLvttvGpT30qweTUXZnsffWrX40f/ehHccABB8SZZ54ZixcvjgsuuCA+8pGPxEknnZRyfGpK7khB7gZZQT/bbrttERFr/fXkk0+udc2TTz5ZRERxwQUXVDssXUX2SGGg3C1btqw488wzi1122aUYOXJksf766xfbbrttcfLJJ79rLmEgA+Vu1d72br8+/elPp/4jUENlPmd//vOfv+s1++23X9L5qa+yz3gPP/xwccghhxTDhw8vRo8eXRx33HHFc889l25wak3uSEHuBlejKIpiEHo/AAAAAGAQ+EcnAAAAACAjCjsAAAAAyIjCDgAAAAAyorADAAAAgIwo7AAAAAAgIwo7AAAAAMhIX+krG40OjkHtFEU17yN3NKsqdxGyR3/2PFKQO1KQO1LwjEcq9jxSKJk7J+wAAAAAICPlT9hFtN4+N7fIKdaat/Nrc1e3e1qHeVPfoyrJQD7v+c613UwGBn9t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AAAAABlR2AEAAABARhR2AAAAAJARhR0AAAAAZERhBwAAAAAZUdgBAAAAQEYUdgAAAACQEYUdAAAAAGREYQcAAAAAGVHYAQAAAEBGFHYAAAAAkJFGURRFuSsbHR6FWikZm7bJHc2qyl2E7NGfPY8U5I4U5I4UPOORij2PFMrWcKULOwAAAACg4/xILAAAAABkRGEHAAAAABlR2AEAAABARhR2AAAAAJARhR0AAAAAZERhV8K//uu/xpQpU2LkyJGx8cYbxyGHHBK/+tWvUo9Fl5M7UpA7UpE9UpA7UpA7UpA7UpG9ddcoiqJIPUTO/u3f/i0+9rGPxdZbbx2f+9znYuXKlXHZZZfFyy+/HHPnzo0JEyakHpEuJHekIHekInukIHekIHekIHekInvtUdgNYOrUqXHXXXfFb3/72xg7dmxERCxYsCB23HHHOOSQQ2LOnDmJJ6QbyR0pyB2pyB4pyB0pyB0pyB2pyF57/EjsAO6444446KCDVocrImKLLbaI/fbbL66//vpYvHhxwunoVnJHCnJHKrJHCnJHCnJHCnJHKrLXHoXdAJYtWxbDhg1b4/Xhw4fH8uXL4+GHH04wFd1O7khB7khF9khB7khB7khB7khF9tqjsBvAhAkT4u6774633npr9WvLly+Pe+65JyIi5s2bl2o0upjckYLckYrskYLckYLckYLckYrstUdhN4A///M/j8ceeyxOPvnkeOSRR+Lhhx+OE044IRYsWBAREW+88UbiCelGckcKckcqskcKckcKckcKckcqstcehd0ATjnllPjqV78aV111VUycODE+8pGPxOOPPx5nn312RESMGDEi8YR0I7kjBbkjFdkjBbkjBbkjBbkjFdlrj8KuhL/7u7+L559/Pu6444548MEH4957742VK1dGRMSOO+6YeDq6ldyRgtyRiuyRgtyRgtyRgtyRiuytu0ZRFEXqIepor732igULFsTvfve7GDJE70k15I4U5I5UZI8U5I4U5I4U5I5UZK8cd2YdXHPNNXHvvffGF77wBeGiMnJHCnJHKrJHCnJHCnJHCnJHKrJXnhN2A/jFL34R5557bhxyyCExduzYuPvuu+Pyyy+Pgw8+OK677rro6+tLPSJdSO5IQe5IRfZIQe5IQe5IQe5IRfba4+4MYMstt4z11lsvLrjggli0aFGMHz8+zjvvvDjrrLOE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\n",
      "text/plain": [
       "<Figure size 1600x1200 with 40 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 创建图形对象，编号为0，大小为(16, 12)\n",
    "fig = plt.figure(0, (16, 12))\n",
    "\n",
    "# 遍历前40个出现次数最多的例子\n",
    "for i in range(40):\n",
    "    index = sI[-1*(i+1)]  # 获取排序后的索引\n",
    "    example = uniqueExamples[index, :].reshape(9, 9)  # 获取例子并调整形状为(9, 9)\n",
    "    \n",
    "    # 根据标签选择颜色映射和主要颜色\n",
    "    if uniqueLabels[index]:\n",
    "        colorMap = bw\n",
    "        mainColor = 'b'\n",
    "    else: \n",
    "        colorMap = rw\n",
    "        mainColor = 'r'\n",
    "    \n",
    "    # 在子图中显示热力图\n",
    "    plt.subplot(6, 8, i+1)\n",
    "    p = plt.pcolor(np.flipud(example), cmap=colorMap, linewidth=1.3, color=mainColor, vmin=0, vmax=1)\n",
    "    plt.axis('off')  # 关闭坐标轴显示\n",
    "    plt.title(str(uniqueCounts[index]))  # 显示该例子的出现次数\n",
    "\n",
    "plt.show()  # 显示图形"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3090 413\n"
     ]
    }
   ],
   "source": [
    "# 找到标签为1的独特例子及其计数\n",
    "fingerExamples, uniqueIndices, uniqueCounts = findUniqueRowsAndCount(X[y == 1])\n",
    "\n",
    "# 输出总的独特例子数量和标签为1的独特例子数量\n",
    "print(len(uniqueExamples), len(fingerExamples))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们有3090个独特的示例，其中413个示例显示手指。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 让我们更仔细地看一下我们的413个手指示例\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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RG2JXXe2W+6e193Pf6Wm78l+ww4AAAAABnHCDgAAAAAGccIOAAAAAAbZvSUWAAAAADif37ADAAAAgEGcsAMAAACAQZywAwAAAIBBnLADAAAAgEGcsAMAAACAQZywAwAAAIBBnLADAAAAgEGcsAMAAACAQZywAwAAAIBB/tp7w6+vM1/Gdb6/991uhd6m1qSrt6k16eptak26eptak67eptakq7epNenqbWpNunqbWpOu3qbWpKu3qTXZ37v7hN2rB73jzXr1GrZe15HXO7V16/jR1zu112zN1mzff64rme2+46vM9ufxVWa7Ze/MP/GYE3z6+9TTWl8d//RzvfN949fxM76nnuWsromtybpdr6z6NbvFbM323dtOZLbP7/InsQAAAAAwiBN2AAAAADCIE3YAAAAAMMjX9/e+q3VM/ZvedzVdzLCpNenqbWpNunqbWpOu3qbWpKu3qTXp6m1qTbp6m1qTrt6m1qSrt6k16eptak329/oNOwAAAAAYxJbYN57narZNmq3ZPm+2W1ad7StP38aUfOZr9siW2AnatsQe2eT5p8/z+2NOYEusLbFHrdq1xbZJs333thOZ7Rpdr/iaff5s/YYdAAAAAAzihB0AAAAADGLpxIYVeptak67eptakq7epNenqbWpNunqbWpOu3qbWpKu3qTXp6m1qTbp6m1qTrt6m1sTSCQAAAAB4pLeWTlyp6UKCiQubbh1fYbavrDrbLZZOWDrxb8cnalo68YmuFT63dy6dmPge/HodK8z2lRWWTkzU9jOen9/Nduu2T7Lq1+wWs33+bJ/WdeQ1+A07AAAAABjECTsAAAAAGMQJOwAAAAAYxJbYDSv0NrUmXb1NrUlXb1Nr0tXb1Jp09Ta1Jl29Ta1JV29Ta9LV29SadPU2tSZdvU2tiS2xAAAAAPBItsQOYcuU2b5724nunu3krxdbYue+3ldsibUl9uexfzv+p8/z6zGnvAevrPo9eYstsces2rXFz3jP79qy6n+XvLLqbO/+75IJdM1otSUWAAAAABbhhB0AAAAADGLpxIYVeptak67eptakq7epNenqbWpNunqbWpOu3qbWpKu3qTXp6m1qTbp6m1qTrt6m1sTSCQAAAAB4JEsnhnDRWrN997YT3d31tK+XM5ZOTG1NZr62M78fWTrxLJZOfN7Tvief5ejSiSe5++eAq636s+sr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\n",
      "text/plain": [
       "<Figure size 1600x1600 with 413 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 创建图形对象，编号为0，大小为(16, 16)\n",
    "fig = plt.figure(0, (16, 16))\n",
    "\n",
    "# 设置颜色映射和主要颜色\n",
    "colorMap = bw\n",
    "mainColor = 'b'\n",
    "        \n",
    "# 遍历标签为1的独特例子\n",
    "for i in range(len(fingerExamples)):\n",
    "    example = fingerExamples[i, :].reshape(9, 9)  # 获取例子并调整形状为(9, 9)\n",
    "    \n",
    "    # 在子图中显示热力图\n",
    "    plt.subplot(21, 21, i+1)\n",
    "    p = plt.pcolor(np.flipud(example), cmap=colorMap, linewidth=0.4, color=mainColor, vmin=0, vmax=1)\n",
    "    plt.axis('off')  # 关闭坐标轴显示"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 我们的第一个机器学习算法\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "# 复制标签为1的独特例子到rules变量\n",
    "rules = fingerExamples.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 我们只是让数据集中每个手指示例成为自己的规则。\n",
    "- 现在，在测试我们的算法之前，让我们确保我们有一个好的比较基准，与我们之前的方法进行比较。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 让我们测量第2部分知识工程方法的准确性\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "# 上次使用的混淆矩阵\n",
    "confusionMatrix = np.array([[48, 447], \\\n",
    "                             [7, 7365]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9422905809075887"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 计算准确率：(TP + TN) / (总例子数)\n",
    "accuracy = (48. + 7365.) / (48 + 7365 + 447 + 7)\n",
    "accuracy"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 这是怎么回事？\n",
    "- 这都是关于基准线的\n",
    "- 让我们构建世界上最简单的分类器，所有示例都是负面的，没有手指。\n",
    "- 我们的准确率是多少？\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9370789373331638"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(7867.-495)/7867"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 展示和计算我们的第一个机器学习算法的性能\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1400x800 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 创建图形对象，编号为0，大小为(14, 8)\n",
    "fig = plt.figure(0, (14, 8))\n",
    "\n",
    "# 显示匹配情况\n",
    "showMatches(rules=rules, exampleIndices=exampleIndices, data=data, fig=fig, verbose=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 计算混淆矩阵\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 495    0]\n",
      " [  16 7356]]\n"
     ]
    }
   ],
   "source": [
    "# 搜索与规则匹配的例子的索引\n",
    "matchingIndices = np.array([], dtype='int')\n",
    "for rule in rules:\n",
    "    difference = X - rule\n",
    "    # 找到差异矩阵每行都为0的索引，表示匹配的例子\n",
    "    mI = np.where(~difference.any(axis=1))[0]\n",
    "    matchingIndices = np.concatenate((matchingIndices, mI))\n",
    "\n",
    "# 创建yHat向量，指示规则预测为手指的像素\n",
    "yHat = np.zeros(X.shape[0])\n",
    "yHat[matchingIndices] = 1\n",
    "\n",
    "# 计算假阴性（False Negatives）、假阳性（False Positives）、真阳性（True Positives）和真阴性（True Negatives）的数量\n",
    "FN = np.sum(np.logical_and(y == 1, yHat == 0))\n",
    "FP = np.sum(np.logical_and(y == 0, yHat == 1))\n",
    "TP = np.sum(np.logical_and(y == 1, yHat == 1))\n",
    "TN = np.sum(np.logical_and(y == 0, yHat == 0))\n",
    "\n",
    "# 构建混淆矩阵\n",
    "confusionMatrix = np.array([[TP, FN], [FP, TN]])\n",
    "\n",
    "print(confusionMatrix)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 计算精确度和召回率：\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.0 0.9686888454011742\n"
     ]
    }
   ],
   "source": [
    "# 计算召回率（Recall）：TP / (TP + FN)\n",
    "recall = float(TP) / (TP + FN)\n",
    "\n",
    "# 计算精确度（Precision）：TP / (TP + FP)\n",
    "precision = float(TP) / (TP + FP)\n",
    "\n",
    "print(recall, precision)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(413, 81)"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rules.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(7867, 81)"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(7867,)"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "depth-camera",
   "language": "python",
   "name": "depth-camera"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.16"
  },
  "latex_envs": {
   "bibliofile": "biblio.bib",
   "cite_by": "apalike",
   "current_citInitial": 1,
   "eqLabelWithNumbers": true,
   "eqNumInitial": 0
  },
  "toc": {
   "toc_cell": false,
   "toc_number_sections": false,
   "toc_section_display": "block",
   "toc_threshold": 6,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
